package com.ztesoft.report.dao;

import com.ztesoft.report.base.dao.BaseMapper;
import com.ztesoft.report.entity.ReportUserRole;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author y3tu
 * @since 2018-07-23
 */
public interface ReportUserRoleDao extends BaseMapper<ReportUserRole> {
    /**
     * 根据useri的和roleid 查询
     * @param map
     * @return
     */
    List<ReportUserRole> selectByUserOrRole(Map map);

    /**
     * 根据userid查询
     * @param userid
     * @return
     */
    List<Integer> selectByUserId(String userid);

    /**
     * 根据roleid查询
     * @param roleid
     * @return
     */
    List<Integer> selectByRoleId(String roleid);

    /**
     * reportI固定传入，再传入userID或者roleId去查询表中是否存在数据
     * @param reportUserRole
     * @return
     */
    List<ReportUserRole> selectUserRoleByUserOrRole(ReportUserRole reportUserRole);

    /**
     * 通过reportId去查询他所有的用户权限集合
     * @param reportId
     * @return
     */
    List<String> selectUserIds(String reportId);

    List<String> selectRoleIds(String reportId);

    void deleteByUserOrRole(ReportUserRole reportUserRole);
}